package com.panfeng.xcloud.boss.provider.member.service;

import com.panfeng.xcloud.boss.provider.dto.request.SendEmailReqDTO;
import com.panfeng.xcloud.boss.provider.member.dto.request.CheckVerifyCodeReqDTO;
import com.panfeng.xcloud.boss.provider.member.dto.request.EmailCodeReqDTO;
import com.panfeng.xcloud.boss.provider.member.dto.request.SMSCodeReqDTO;
import com.panfeng.xcloud.boss.provider.member.dto.response.VerifiyCodeRespDTO;

public interface IUserSMSService {

    /**
     * 发送短信验证码并返回验证码
     *
     * @param sysSMSCodeReqDTO
     * @return
     */
    VerifiyCodeRespDTO sendSMSAndGetCode(SMSCodeReqDTO sysSMSCodeReqDTO);

    /**
     * 验证短信验证码
     *
     * @param userName
     * @param msgCode
     * @return
     */
    boolean validSmsCode(String userName, String msgCode);

    /**
     * 发送邮箱验证码
     *
     * @param emailCodeReqDTO
     * @return
     */
    boolean sendEmailAndGetCode(EmailCodeReqDTO emailCodeReqDTO);

    /**
     * 发送异常信息到邮箱
     *
     * @param emailCodeReqDTO
     * @return
     */
    boolean sendEmail(EmailCodeReqDTO emailCodeReqDTO, SendEmailReqDTO sendEmailReqDTO);

    /**
     * 校验验证码
     * @param checkVerifyCodeReqDTO
     * @return
     */
    boolean checkVerifyCode(CheckVerifyCodeReqDTO checkVerifyCodeReqDTO);


    /**
     * 验证语音验证码
     *
     * @param mobile
     * @param bizType
     * @param voiceCode
     * @return
     */
    boolean validVoiceCode(String mobile,Integer bizType, String voiceCode);
}
